package com.jt.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jt.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper extends BaseMapper<User> {
    /**
     * 基于用户名查询用户信息
     * @param username
     * @return
     */
    @Select("select id, username ,password ,status  from tb_users where username=#{username}")
   User selectUserByUserName(String username);

    /**
     * 基于用户id查询用户权限，涉及到的表有：
     * 1）tb_user_roles(用户角色关系表，可以在表中基于用户oid找到用户角色)
     * 2）tb_role_menus(角色菜单关系表，基于角色id找到菜单id)
     * 3）tb_menus(菜单表，表单为资源的外在形式表现形式，在此表中可以基于菜单id找到权限标识)
     *
     * @param userId
     * @return
     */
    @Select("select m.permission from tb_role_menus tm join tb_user_roles tr on tm.role_id=tr.role_id join tb_menus m on  tm.menu_id =m.id where tr.user_id=#{userId} ")
    List<String> selectUserPermissions(Long userId);





}
